package com.itbaizhan.jdkDynaimc;

import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;

import java.lang.reflect.Proxy;
//因为动态代理不会生成代理类，只会生成对象
public class Test {
    public static void main(String[] args) {


        //被代理对象
        Apple apple = new AppleImpl();
        //代理方式对象
        ShoppingProxy shoppingProxy = new ShoppingProxy(apple);
        //生成代理对象 除了类 其他的都是固定的代码  Proxy代理人
        Apple appleJD = (Apple) Proxy.newProxyInstance(
                apple.getClass().getClassLoader(),//类加载器
                apple.getClass().getInterfaces(),//被代理的接口
                shoppingProxy  //代理方式对象
        );
        //执行增强方法
        String sell = appleJD.sell(6000);
        System.out.println(sell);
        appleJD.repair();
    }
}
